package cool.houge.pig.repository.weixin;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * auth.code2Session 返回结果 <a
 * href="https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html">详情</a>.
 *
 * @author KK (kzou227@qq.com)
 */
@Data
@Accessors(chain = true)
public class Jscode2SessionResult {

  /** 用户唯一标识. */
  private String openid;
  /** 会话密钥. */
  @JsonProperty("session_key")
  private String sessionKey;
  /**
   * 用户在开放平台的唯一标识符, 若当前小程序已绑定到微信开放平台帐号下会返回.
   *
   * <p><a
   * href="https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html">UnionID
   * 机制说明.</a>
   */
  private String unionid;
  /** 0 值代表请求成功. */
  private int errcode;
  /** 错误描述. */
  private String errmsg;

  /**
   * 返回结果是否为失败响应.
   *
   * @return true = 失败
   */
  public boolean isFailure() {
    return errcode != 0;
  }
}
